package org.ocaf.interfaces;

import org.ocaf.models.DoerProduct;

/**
 * Doer - a doer is basically an object which does something. What that something
 * is really doesn't matter, but if you are a doer, then you can be recognized
 * by the framework. 
 * 
 * Doers do. 
 * 
 * @author David Palmer <blinder.dave@gmail.com>
 * @version $Id$
 */
public interface Doer {
	
	/**
	 * Doers are executed, meaning they carry out actions. 
	 * 
	 * @return
	 * @throws Exception
	 */
	public DoerProduct execute() throws Exception;
}
